אני קצת אובד עצות. באמת שחיפשתי המון בגוגל ואין לזה תשובה חד משמעית.
איזה Pattern להשים ב REGEX על מנת לוודא שהסטרינג שלי מכיל אך ורק אותיות? אין לי בעיה שיהיה באנגלית רוסית עברית ועוד. רק שלא יכיל כל תו אחר.

מי ששואל, אני מפתח אפליקציה שבה אני מבקש מהגולש להזין שם פרטי. ואני צריך לעשות ולדיציה לשם הפרטי. וזו הולדיציה שאני צריך. ממש כמו בפייסבוק.

עריכה:
ניתן לשפר את ה pattern כך שהשם הפרטי יכיל רק אותיות מאותה שפה. אם התחלת לכתוב ברוסית אז השם כולו יהיה ברוסית ולא חצי רוסית חצי עברית.

3 תשובות

avatar ענה משהה ב 12 למאי 2015 #

תנסה הפוך, במקום למצוא שהוא מכיל רק אותיות, תבדוק שהוא לא מכיל ספרות או סימנים מיוחדים.

avatar ענה mtndiv ב 13 למאי 2015 #

רעיון לא טוב. יש יותר מדי תווים מיוחדים שצריך ללקט.

avatar ענה intval ב 13 למאי 2015 #

השיפור שהצעת יהיה די קשה לעשות, בייחוד ללא הזנה ידנית של כל אותיות של כל א-ב שאתה מכיר
הדרך ההגיונית שחשבתי עליה היא להשתמש בקבוצה \w וכוללת את כל התוים שיכולים להיות חלק ממילה (א-ת0-9)
אך זה שיש מספרים לא עוזר לך. לכן אולי הדרך הכי פשוטה היא לבדוק שזה כולל \w אך לא כולל מספרים, בסגנון של:

echo  preg_match("#^\w+$#iu", "שמוליק") && !preg_match("#\d#i", 'שמוליק')    ? 'a' : 'b';


http://phpguide.co.il/phplive?code=1035